package com.gs.gaosheng.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gs.common.annotation.Excel;
import com.gs.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户信息对象 tb_user
 *
 * @author yy
 * @date 2023-08-03
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long userId;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String userName;

    /** 用户登录账号 */
    @Excel(name = "用户登录账号")
    private String userAccount;

    /** 密码 */
    @Excel(name = "密码")
    private String userPassword;

    /** 用户手机号码 */
    @Excel(name = "用户手机号码")
    private String userPhone;

    /** 用户积分 */
    @Excel(name = "用户积分")
    private Long userScore;

    /** 用户余额 */
    @Excel(name = "用户余额")
    private Long userSurplus;

    /** email邮箱 */
    @Excel(name = "email邮箱")
    private String userEmail;

    /** 用户类型1-管理员 2-普通外部用户 */
    @Excel(name = "用户类型1-管理员 2-普通外部用户")
    private Long userType;

    /** 1-有效 2-无效 3-锁定 */
    @Excel(name = "1-有效 2-无效 3-锁定")
    private Long userStatus;

    /** 性别 '1’-男 '0'-女 */
    @Excel(name = "性别 '1’-男 '0'-女")
    private String userGender;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date userBirthday;

    /** 用户简介 */
    @Excel(name = "用户简介")
    private String userAutograph;

    /** 积分 */
    @Excel(name = "积分")
    private Long userPoints;

    /** 用户图片 */
    @Excel(name = "用户图片")
    private String userPhoto;

    /** 账户锁定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "账户锁定时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date userLockTime;

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setUserAccount(String userAccount)
    {
        this.userAccount = userAccount;
    }

    public String getUserAccount()
    {
        return userAccount;
    }
    public void setUserPassword(String userPassword)
    {
        this.userPassword = userPassword;
    }

    public String getUserPassword()
    {
        return userPassword;
    }
    public void setUserPhone(String userPhone)
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone()
    {
        return userPhone;
    }
    public void setUserScore(Long userScore)
    {
        this.userScore = userScore;
    }

    public Long getUserScore()
    {
        return userScore;
    }
    public void setUserSurplus(Long userSurplus)
    {
        this.userSurplus = userSurplus;
    }

    public Long getUserSurplus()
    {
        return userSurplus;
    }
    public void setUserEmail(String userEmail)
    {
        this.userEmail = userEmail;
    }

    public String getUserEmail()
    {
        return userEmail;
    }
    public void setUserType(Long userType)
    {
        this.userType = userType;
    }

    public Long getUserType()
    {
        return userType;
    }
    public void setUserStatus(Long userStatus)
    {
        this.userStatus = userStatus;
    }

    public Long getUserStatus()
    {
        return userStatus;
    }
    public void setUserGender(String userGender)
    {
        this.userGender = userGender;
    }

    public String getUserGender()
    {
        return userGender;
    }
    public void setUserBirthday(Date userBirthday)
    {
        this.userBirthday = userBirthday;
    }

    public Date getUserBirthday()
    {
        return userBirthday;
    }
    public void setUserAutograph(String userAutograph)
    {
        this.userAutograph = userAutograph;
    }

    public String getUserAutograph()
    {
        return userAutograph;
    }
    public void setUserPoints(Long userPoints)
    {
        this.userPoints = userPoints;
    }

    public Long getUserPoints()
    {
        return userPoints;
    }
    public void setUserPhoto(String userPhoto)
    {
        this.userPhoto = userPhoto;
    }

    public String getUserPhoto()
    {
        return userPhoto;
    }
    public void setUserLockTime(Date userLockTime)
    {
        this.userLockTime = userLockTime;
    }

    public Date getUserLockTime()
    {
        return userLockTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("userAccount", getUserAccount())
            .append("userPassword", getUserPassword())
            .append("userPhone", getUserPhone())
            .append("userScore", getUserScore())
            .append("userSurplus", getUserSurplus())
            .append("userEmail", getUserEmail())
            .append("userType", getUserType())
            .append("userStatus", getUserStatus())
            .append("userGender", getUserGender())
            .append("userBirthday", getUserBirthday())
            .append("userAutograph", getUserAutograph())
            .append("userPoints", getUserPoints())
            .append("userPhoto", getUserPhoto())
            .append("userLockTime", getUserLockTime())
            .toString();
    }
}
